package com.it.flowable.entity.leave;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = false)
@TableName("ACT_LEAVE_PROCESS_EXT")
public class ActLeaveProcessExtVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 流程实例id
     */
    @TableId(value = "C_PROCESS_ID", type = IdType.INPUT)
    @JsonProperty("cProcessId")
    private String cProcessId;

    /**
     * 流程名称
     */
    @TableField("C_PROCESS_NME")
    @JsonProperty("cProcessNme")
    private String cProcessNme;

    /**
     * 流程实例的父实例id
     */
    @TableField("C_SUP_PROCESS_ID")
    @JsonProperty("cSupProcessId")
    private String cSupProcessId;

    /**
     * 主线ID
     */
    @TableField("C_MAIN_ID")
    @JsonProperty("cMainId")
    private String cMainId;

    /**
     * 业务任务号
     */
    @TableField("C_TASK_NO")
    @JsonProperty("cTaskNo")
    private String cTaskNo;

    /**
     * 流程状态 0 挂起、 1 进行中、 2 完成
     */
    @TableField("C_STATUS")
    @JsonProperty("cStatus")
    private String cStatus;

    /**
     * 创建时间
     */
    @TableField("T_CRT_TM")
    @JsonProperty("tCrtTm")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date tCrtTm;
}
